package com.bolong.gmgc.bean.record;

import java.io.Serializable;
import java.util.Date;

public class MonthCard implements Serializable {
    /**
     * 月卡表id
     *
     * @mbg.generated
     */
    private String cardId;

    /**
     * 车牌号
     *
     * @mbg.generated
     */
    private String carNumber;

    /**
     * 月卡类型1免费月卡2商户月卡3住户月卡
     *
     * @mbg.generated
     */
    private Integer cardType;

    /**
     * 月卡开卡时间
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     * 月卡到期时间
     *
     * @mbg.generated
     */
    private Date cardTermofvalidity;

    /**
     * 合同号
     *
     * @mbg.generated
     */
    private String contractNumber;

    /**
     * 月卡注销时间
     *
     * @mbg.generated
     */
    private Date cardZxtime;

    /**
     * 开卡时选的日期类型 1.一月卡2.半年卡3年卡
     *
     * @mbg.generated
     */
    private Integer dateType;

    /**
     * 分区类型  1.住宅区2.地下车库
     *
     * @mbg.generated
     */
    private Integer zoneType;

    /**
     * 月卡状态1正常2待激活3已封存5.过期
     *
     * @mbg.generated
     */
    private Integer cardStatus;

    /**
     * 注销状态0已注销1未注销
     *
     * @mbg.generated
     */
    private Integer cardZxstatus;

    /**
     * 使用状态 1.true使用中 0.false未使用
     *
     * @mbg.generated
     */
    private Boolean usedStatus;

    /**
     * 用户id
     *
     * @mbg.generated
     */
    private String userId;

    /**
     * 封存备注
     *
     * @mbg.generated
     */
    private String cardRemark;

    /**
     * 月卡关联的管理单位id
     *
     * @mbg.generated
     */
    private String managerId;

    /**
     * 停车场id
     *
     * @mbg.generated
     */
    private String parkId;

    /**
     * 车位号
     *
     * @mbg.generated
     */
    private String carportNum;

    /**
     * 开卡备注
     *
     * @mbg.generated
     */
    private String openRemake;

    /**
     * 月卡类型id
     *
     * @mbg.generated
     */
    private String monthcardtypeid;

    /**
     * 用户类型id改成了用户类型名称
     *
     * @mbg.generated
     */
    private String usertypeId;

    private static final long serialVersionUID = 1L;

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getCarNumber() {
        return carNumber;
    }

    public void setCarNumber(String carNumber) {
        this.carNumber = carNumber;
    }

    public Integer getCardType() {
        return cardType;
    }

    public void setCardType(Integer cardType) {
        this.cardType = cardType;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getCardTermofvalidity() {
        return cardTermofvalidity;
    }

    public void setCardTermofvalidity(Date cardTermofvalidity) {
        this.cardTermofvalidity = cardTermofvalidity;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }

    public Date getCardZxtime() {
        return cardZxtime;
    }

    public void setCardZxtime(Date cardZxtime) {
        this.cardZxtime = cardZxtime;
    }

    public Integer getDateType() {
        return dateType;
    }

    public void setDateType(Integer dateType) {
        this.dateType = dateType;
    }

    public Integer getZoneType() {
        return zoneType;
    }

    public void setZoneType(Integer zoneType) {
        this.zoneType = zoneType;
    }

    public Integer getCardStatus() {
        return cardStatus;
    }

    public void setCardStatus(Integer cardStatus) {
        this.cardStatus = cardStatus;
    }

    public Integer getCardZxstatus() {
        return cardZxstatus;
    }

    public void setCardZxstatus(Integer cardZxstatus) {
        this.cardZxstatus = cardZxstatus;
    }

    public Boolean getUsedStatus() {
        return usedStatus;
    }

    public void setUsedStatus(Boolean usedStatus) {
        this.usedStatus = usedStatus;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getCardRemark() {
        return cardRemark;
    }

    public void setCardRemark(String cardRemark) {
        this.cardRemark = cardRemark;
    }

    public String getManagerId() {
        return managerId;
    }

    public void setManagerId(String managerId) {
        this.managerId = managerId;
    }

    public String getParkId() {
        return parkId;
    }

    public void setParkId(String parkId) {
        this.parkId = parkId;
    }

    public String getCarportNum() {
        return carportNum;
    }

    public void setCarportNum(String carportNum) {
        this.carportNum = carportNum;
    }

    public String getOpenRemake() {
        return openRemake;
    }

    public void setOpenRemake(String openRemake) {
        this.openRemake = openRemake;
    }

    public String getMonthcardtypeid() {
        return monthcardtypeid;
    }

    public void setMonthcardtypeid(String monthcardtypeid) {
        this.monthcardtypeid = monthcardtypeid;
    }

    public String getUsertypeId() {
        return usertypeId;
    }

    public void setUsertypeId(String usertypeId) {
        this.usertypeId = usertypeId;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", cardId=").append(cardId);
        sb.append(", carNumber=").append(carNumber);
        sb.append(", cardType=").append(cardType);
        sb.append(", createTime=").append(createTime);
        sb.append(", cardTermofvalidity=").append(cardTermofvalidity);
        sb.append(", contractNumber=").append(contractNumber);
        sb.append(", cardZxtime=").append(cardZxtime);
        sb.append(", dateType=").append(dateType);
        sb.append(", zoneType=").append(zoneType);
        sb.append(", cardStatus=").append(cardStatus);
        sb.append(", cardZxstatus=").append(cardZxstatus);
        sb.append(", usedStatus=").append(usedStatus);
        sb.append(", userId=").append(userId);
        sb.append(", cardRemark=").append(cardRemark);
        sb.append(", managerId=").append(managerId);
        sb.append(", parkId=").append(parkId);
        sb.append(", carportNum=").append(carportNum);
        sb.append(", openRemake=").append(openRemake);
        sb.append(", monthcardtypeid=").append(monthcardtypeid);
        sb.append(", usertypeId=").append(usertypeId);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        MonthCard other = (MonthCard) that;
        return (this.getCardId() == null ? other.getCardId() == null : this.getCardId().equals(other.getCardId()))
            && (this.getCarNumber() == null ? other.getCarNumber() == null : this.getCarNumber().equals(other.getCarNumber()))
            && (this.getCardType() == null ? other.getCardType() == null : this.getCardType().equals(other.getCardType()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getCardTermofvalidity() == null ? other.getCardTermofvalidity() == null : this.getCardTermofvalidity().equals(other.getCardTermofvalidity()))
            && (this.getContractNumber() == null ? other.getContractNumber() == null : this.getContractNumber().equals(other.getContractNumber()))
            && (this.getCardZxtime() == null ? other.getCardZxtime() == null : this.getCardZxtime().equals(other.getCardZxtime()))
            && (this.getDateType() == null ? other.getDateType() == null : this.getDateType().equals(other.getDateType()))
            && (this.getZoneType() == null ? other.getZoneType() == null : this.getZoneType().equals(other.getZoneType()))
            && (this.getCardStatus() == null ? other.getCardStatus() == null : this.getCardStatus().equals(other.getCardStatus()))
            && (this.getCardZxstatus() == null ? other.getCardZxstatus() == null : this.getCardZxstatus().equals(other.getCardZxstatus()))
            && (this.getUsedStatus() == null ? other.getUsedStatus() == null : this.getUsedStatus().equals(other.getUsedStatus()))
            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
            && (this.getCardRemark() == null ? other.getCardRemark() == null : this.getCardRemark().equals(other.getCardRemark()))
            && (this.getManagerId() == null ? other.getManagerId() == null : this.getManagerId().equals(other.getManagerId()))
            && (this.getParkId() == null ? other.getParkId() == null : this.getParkId().equals(other.getParkId()))
            && (this.getCarportNum() == null ? other.getCarportNum() == null : this.getCarportNum().equals(other.getCarportNum()))
            && (this.getOpenRemake() == null ? other.getOpenRemake() == null : this.getOpenRemake().equals(other.getOpenRemake()))
            && (this.getMonthcardtypeid() == null ? other.getMonthcardtypeid() == null : this.getMonthcardtypeid().equals(other.getMonthcardtypeid()))
            && (this.getUsertypeId() == null ? other.getUsertypeId() == null : this.getUsertypeId().equals(other.getUsertypeId()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getCardId() == null) ? 0 : getCardId().hashCode());
        result = prime * result + ((getCarNumber() == null) ? 0 : getCarNumber().hashCode());
        result = prime * result + ((getCardType() == null) ? 0 : getCardType().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getCardTermofvalidity() == null) ? 0 : getCardTermofvalidity().hashCode());
        result = prime * result + ((getContractNumber() == null) ? 0 : getContractNumber().hashCode());
        result = prime * result + ((getCardZxtime() == null) ? 0 : getCardZxtime().hashCode());
        result = prime * result + ((getDateType() == null) ? 0 : getDateType().hashCode());
        result = prime * result + ((getZoneType() == null) ? 0 : getZoneType().hashCode());
        result = prime * result + ((getCardStatus() == null) ? 0 : getCardStatus().hashCode());
        result = prime * result + ((getCardZxstatus() == null) ? 0 : getCardZxstatus().hashCode());
        result = prime * result + ((getUsedStatus() == null) ? 0 : getUsedStatus().hashCode());
        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
        result = prime * result + ((getCardRemark() == null) ? 0 : getCardRemark().hashCode());
        result = prime * result + ((getManagerId() == null) ? 0 : getManagerId().hashCode());
        result = prime * result + ((getParkId() == null) ? 0 : getParkId().hashCode());
        result = prime * result + ((getCarportNum() == null) ? 0 : getCarportNum().hashCode());
        result = prime * result + ((getOpenRemake() == null) ? 0 : getOpenRemake().hashCode());
        result = prime * result + ((getMonthcardtypeid() == null) ? 0 : getMonthcardtypeid().hashCode());
        result = prime * result + ((getUsertypeId() == null) ? 0 : getUsertypeId().hashCode());
        return result;
    }
}